Basecalling is an essential step in nanopore sequencing analysis where the raw signals of nanopore sequencers are converted into nucleotide sequences, i.e., reads. State-of-the-art basecallers employ complex deep learning models to achieve high basecalling accuracy. This makes basecalling computationally-inefficient and memory-hungry; bottlenecking the entire genome analysis pipeline. However, for many applications, the majority of reads do no match the reference genome of interest (i.e., target reference) and thus are discarded in later steps in the genomics pipeline, wasting the basecalling computation. To overcome this issue, we propose TargetCall, the first fast and widely-applicable pre-basecalling filter to eliminate the wasted computation in basecalling. TargetCall's key idea is to discard reads that will not match the target reference (i.e., off-target reads) prior to basecalling. TargetCall consists of two main components: (1) LightCall, a lightweight neural network basecaller that produces noisy reads; and (2) Similarity Check, which labels each of these noisy reads as on-target or off-target by matching them to the target reference. TargetCall filters out all off-target reads before basecalling; and the highly-accurate but slow basecalling is performed only on the raw signals whose noisy reads are labeled as on-target. Our thorough experimental evaluations using both real and simulated data show that TargetCall 1) improves the end-to-end basecalling performance of the state-of-the-art basecaller by 3.31x while maintaining high (98.88%) sensitivity in keeping on-target reads, 2) maintains high accuracy in downstream analysis, 3) precisely filters out up to 94.71% of off-target reads, and 4) achieves better performance, sensitivity, and generality compared to prior works. We freely open-source TargetCall at https://github.com/CMU-SAFARI/TargetCall.
translated by 谷歌翻译
Resistive Random-Access Memory (RRAM) is well-suited to accelerate neural network (NN) workloads as RRAM-based Processing-in-Memory (PIM) architectures natively support highly-parallel multiply-accumulate (MAC) operations that form the backbone of most NN workloads. Unfortunately, NN workloads such as transformers require support for non-MAC operations (e.g., softmax) that RRAM cannot provide natively. Consequently, state-of-the-art works either integrate additional digital logic circuits to support the non-MAC operations or offload the non-MAC operations to CPU/GPU, resulting in significant performance and energy efficiency overheads due to data movement. In this work, we propose NEON, a novel compiler optimization to enable the end-to-end execution of the NN workload in RRAM. The key idea of NEON is to transform each non-MAC operation into a lightweight yet highly-accurate neural network. Utilizing neural networks to approximate the non-MAC operations provides two advantages: 1) We can exploit the key strength of RRAM, i.e., highly-parallel MAC operation, to flexibly and efficiently execute non-MAC operations in memory. 2) We can simplify RRAM's microarchitecture by eliminating the additional digital logic circuits while reducing the data movement overheads. Acceleration of the non-MAC operations in memory enables NEON to achieve a 2.28x speedup compared to an idealized digital logic-based RRAM. We analyze the trade-offs associated with the transformation and demonstrate feasible use cases for NEON across different substrates.
translated by 谷歌翻译
神经网络(NNS)的重要性和复杂性正在增长。神经网络的性能(和能源效率)可以通过计算或内存资源约束。在内存阵列附近或内部放置计算的内存处理(PIM)范式是加速内存绑定的NNS的可行解决方案。但是,PIM体系结构的形式各不相同,其中不同的PIM方法导致不同的权衡。我们的目标是分析基于NN的性能和能源效率的基于DRAM的PIM架构。为此,我们分析了三个最先进的PIM架构:(1)UPMEM,将处理器和DRAM阵列集成到一个2D芯片中; (2)Mensa,是针对边缘设备量身定制的基于3D堆栈的PIM架构; (3)Simdram,它使用DRAM的模拟原理来执行位序列操作。我们的分析表明,PIM极大地受益于内存的NNS:(1)UPMEM在GPU需要内存过度按要求的通用矩阵 - 矢量乘数内核时提供23x高端GPU的性能; (2)Mensa在Google Edge TPU上提高了3.0倍和3.1倍的能源效率和吞吐量,用于24个Google Edge NN型号; (3)SIMDRAM在三个二进制NNS中以16.7倍/1.4倍的速度优于CPU/GPU。我们得出的结论是,由于固有的建筑设计选择,NN模型的理想PIM体系结构取决于模型的独特属性。
translated by 谷歌翻译
长期负载请求继续限制高性能处理器的性能。为了提高处理器的潜伏能力,建筑师主要依赖两种关键技术:复杂的数据预脱水和较大的芯片固定缓存。在这项工作中,我们表明:1)即使是先进的先进预摘要,也只能预测一半的外芯片负载请求,平均在广泛的工作负载中,而2)由于尺寸的增加,并且片上缓存的复杂性,花片载荷请求的延迟的很大一部分用于访问片上缓存层次结构。这项工作的目的是通过从其关键路径上删除片上缓存访问延迟来加速片外负载请求。为此,我们提出了一种称为爱马仕(Hermes)的新技术,其关键想法是:1)准确预测哪些负载请求可能会偏离芯片,2)猜测预测的芯片外载荷直接从主芯片负载所需的数据内存,同时也同时访问此类负载的高速缓存层次结构。为了启用爱马仕,我们开发了一种新的轻巧,基于智障的外芯片加载预测技术,该技术学会使用多个程序功能(例如,程序计数器的序列)来识别芯片外负载请求。对于每个负载请求,预测器都会观察一组程序功能,以预测负载是否会外芯片。如果预计负载将放置芯片,Hermes一旦生成负载的物理地址,就会直接向内存控制器发出投机请求。如果预测是正确的,则负载最终会错过缓存层次结构,并等待正在进行的投机请求完成,从而将芯片上缓存层次结构访问延迟隐藏在离芯片外负载的关键路径中。我们的评估表明,爱马仕显着提高了最先进的基线的性能。我们开源爱马仕。
translated by 谷歌翻译
基于机器学习的模型最近获得了吸引力,作为通过构建提供快速准确的性能预测的模型来克服FPGA下游实现过程的一种方式。但是,这些模型有两个主要局限性:(1)培训需要大量数据(从FPGA合成和实施报告中提取的功能),这是由于耗时的FPGA设计周期而具有成本范围的; (2)针对特定环境训练的模型无法预测新的未知环境。在云系统中,访问平台通常是昂贵的,ML模型的数据收集可以显着增加系统的总成本所有权(TCO)。为了克服这些限制,我们提出了Leaper,这是一种基于FPGA的基于转移学习的方法,可将现有的基于ML的模型适应新的,未知的环境,以提供快速准确的性能和资源利用预测。实验结果表明,当我们使用转移的模型进行5次学习的云环境中的预测并将设计空间探索时间从天数到几个小时,我们的方法平均提供了85%的精度。
translated by 谷歌翻译
剖面隐藏的马尔可夫模型(PHMM)广泛用于许多生物信息学应用中,以准确识别生物学序列(例如DNA或蛋白质序列)之间的相似性。 PHMM使用常用和高度精确的方法(称为Baum-Welch算法)来计算这些相似性。但是,Baum-Welch算法在计算上很昂贵,现有作品为固定的PHMM设计提供了软件或仅硬件解决方案。当我们分析最先进的作品时,我们发现迫切需要灵活,高性能和节能的硬件软件共同设计,以有效地有效地解决所有主要效率低下的效率PHMM的Baum-Welch算法。我们提出了APHMM,这是第一个灵活的加速框架,可以显着减少PHMM的Baum-Welch算法的计算和能量开销。 APHMM利用硬件软件共同设计来解决Baum-Welch算法中的主要效率低下,通过1)设计灵活的硬件来支持不同的PHMMS设计,2)利用可预测的数据依赖性模式,并使用chip Memory的片段记忆,使用纪念活动技术,memoigience Memoriques,Memoigience Memoriques,Memoigient, 3)通过基于硬件的过滤器快速消除可忽略的计算,4)最小化冗余计算。我们在专用硬件和2)GPU的软件优化方面实现了我们的1)硬件软件优化,以为PHMM提供首个灵活的Baum-Welch加速器。与Baum-Welch算法的CPU,GPU和FPGA实现相比,APHMM提供的显着加速度为15.55 x-260.03x,1.83x-5.34x和27.97倍,分别为27.97倍。 APHMM的表现优于三个重要的生物信息学应用程序的最新CPU实现,1)错误校正,2)蛋白质家族搜索和3)多个序列对齐,比1.29x-59.94x,1.03x-1.75x和分别为1.03x-1.95x。
translated by 谷歌翻译
训练机学习(ML)算法是一个计算密集型过程,由于反复访问大型培训数据集,经常会陷入内存。结果,以处理器为中心的系统(例如CPU,GPU)遭受了内存单元和处理单元之间的昂贵数据移动,这会消耗大量的能量和执行周期。以内存为中心的计算系统,即具有内存(PIM)功能,可以减轻此数据运动瓶颈。我们的目标是了解现代通用PIM体系结构加速ML培训的潜力。为此,我们(1)在现实世界通用PIM体系结构上实现了几种代表性的经典ML算法(即线性回归,逻辑回归,决策树,K-均值聚类),(2)严格评估并表征它们在准确性,性能和缩放方面以及(3)与CPU和GPU上的对应物实现相比。我们对具有2500多个PIM核心的真实内存计算系统的评估表明,当PIM硬件在必要的操作和数据类型上,通用PIM架构可以极大地加速内存的ML工作负载。例如,我们对决策树的PIM实施比8核Intel Xeon上的最先进的CPU版本$ 27 \ times $ $,并且比最先进的GPU快$ 1.34 \ times $ $ NVIDIA A100上的版本。我们在PIM上的K-Means聚类分别为$ 2.8 \ times $和$ 3.2 \ times $ $,分别是最先进的CPU和GPU版本。据我们所知,我们的工作是第一个评估现实世界中PIM架构的ML培训的工作。我们以关键的观察,外卖和建议结束,可以激发ML工作负载的用户,PIM架构的程序员以及未来以内存计算系统的硬件设计师和架构师。
translated by 谷歌翻译
共同检测和隔离Covid-19患者对于成功实施缓解策略并最终遏制疾病扩散至关重要。由于在每个国家 /地区进行的每日共同测试数量有限,因此模拟COVID-19的扩散以及目前每种缓解策略的潜在影响仍然是管理医疗保健系统和指导决策者的最有效方法之一。我们介绍了Covidhunter,这是一种灵活而准确的Covid-19爆发模拟模型,评估了当前适用于该地区的缓解措施,可预测Covid-19统计数据(每日案件,住院和死亡人数),并就何种建议提供建议。力量即将进行的缓解措施应该是。 Covidhunter的关键思想是通过模拟考虑到外部因素的影响,例如环境条件(例如气候,温度,湿度,湿度),关注的不同变体,疫苗接种率和缓解措施。 Covidhunter以瑞士为案例研究,估计我们正在经历一场致命的新浪潮,该浪潮将于2022年1月26日达到顶峰,这与我们2020年2月的浪潮非常相似。决策者只有一个选择是为了增加30天的当前缓解措施的强度。与现有模型不同,Covidhunter模型可以准确监视,并预测COVID-19造成的病例,住院和死亡人数。我们的模型可以灵活地进行配置,并且可以易于修改,以在不同的环境条件和缓解措施下对不同方案进行建模。我们在https://github.com/cmu-safari/covidhunter上发布了covidhunter实现的源代码。
translated by 谷歌翻译
训练机学习算法是一个计算密集型过程,由于反复访问大型培训数据集,因此经常会限制内存。结果,以处理器为中心的系统(例如CPU,GPU)遭受了内存单元和处理单元之间的昂贵数据移动,这会消耗大量的能量和执行周期。以内存为中心的计算系统,即具有内存处理(PIM)功能的计算系统,可以减轻此数据运动瓶颈。我们的目标是了解现代通用PIM体系结构加速机器学习培训的潜力。为此,我们(1)将几种代表性的经典机器学习算法(即线性回归,逻辑回归,决策树,K-均值聚类)上实现在现实世界通用PIM架构上(2)以术语来表征它们与CPU和GPU上的同行实现相比,(3)将其准确性,性能和缩放率进行比较。我们对具有2500多个PIM核心的内存计算系统进行的实验评估表明,当PIM硬件在必要的操作和数据类型上,通用PIM体系结构可以极大地加速记忆的机器学习工作负载。据我们所知,我们的工作是第一个评估现实世界通用PIM体系结构的机器学习算法培训的工作。
translated by 谷歌翻译
过去的研究提出了许多硬件预取技术,其中大多数依赖于利用一种特定类型的程序上下文信息(例如,程序计数器,Cacheline地址)来预测未来的存储器访问。这些技术完全忽略了整个系统上的预取器的不良影响(例如,内存带宽使用),或将系统级反馈结合为返回为系统 - 不知预取算法。我们表明,由于其固有的无法在预取帐户中占用多种不同类型的程序上下文和系统级反馈信息,因此在广泛的工作负载和系统配置中往往会在广泛的工作负载和系统配置中丢失其性能效益。在本文中,我们进行了设计一个整体预取算法的案例,该算法学习使用多种不同类型的程序上下文和系统级反馈信息来预取。为此,我们提出了Pythia,它将预取器制定为钢筋学习代理。对于每种需求请求,Pythia会观察多种不同类型的程序上下文信息以进行预取决定。对于每个预取决定,Pythia接收数字奖励,该奖励评估当前内存带宽使用情况下的预取质量。 Pythia使用此奖励来加强程序上下文信息和预取决定之间的相关性,以在将来生成高度准确,及时和系统感知的预取请求。我们使用仿真和硬件综合的广泛评估表明,Pythia在各种工作负载和系统配置中优于多种最先进的预取器,同时在桌面类处理器中产生的1.03%的面积开销,并且工作负载中没有软件更改。 Pythia的源代码可以从https://github.com/cmu-safari/pythia自由下载。
translated by 谷歌翻译